home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et3_0-a1.lha / et3 / src / Window.h < prev    next >
C/C++ Source or Header  |  1992-07-16  |  2KB  |  88 lines

  1. #ifndef Window_First
  2. #ifdef __GNUG__
  3. //pragma once
  4. #pragma interface
  5. #endif
  6. #define Window_First
  7.  
  8. #include "Clipper.h"
  9. #include "WindowSystem.h"
  10.  
  11. class Manager;
  12. class WindowPort;
  13. class Menu;
  14.  
  15. extern Token gToken;
  16. extern Window *gWindow;
  17.  
  18. //---- Window ------------------------------------------------------------------
  19.  
  20. class Window: public Clipper {
  21. protected:
  22.     bool active;
  23.     GrCursor cursor;
  24.     WindowPort *portDesc;     // Port descriptor
  25.     Manager *manager;
  26.     Window *icon;
  27.     VObject *inner;
  28.     WindowType wtype;
  29.     WindowFlags wflags;
  30.  
  31.     void Init(Manager *eh, VObject *in, WindowType wt, GrCursor curs,
  32.                         WindowFlags f, char *t, Point e);
  33.     WindowPort *MakePort();
  34. public:
  35.     MetaDef(Window);
  36.     
  37.     Window(Manager*, Point e, WindowFlags f, VObject*, char *title= "");
  38.     Window(Manager*, VObject *contents, WindowType wt, WindowFlags f,
  39.                         Point e= gPoint_1, char *t= "");
  40.     ~Window();
  41.     
  42.     bool IsActive()
  43.     { return active; }
  44.     
  45.     EvtHandler *GetNextHandler();
  46.     void SetNextManager(Manager*);
  47.  
  48.     Command *DoMenuCommand(int);
  49.     
  50.     void InputNotify(Token *t);
  51.     void FocusNotify(bool f);
  52.     void OpenNotify(Point e);
  53.     void CloseNotify();
  54.     void ResizeNotify(Point e);
  55.  
  56.     void SetOrigin(Point at);
  57.     void SetExtent(Point e);
  58.     void ExtentChanged(VObject *what);
  59.     void Focus();
  60.     void InvalidateRect(Rectangle);
  61.     void PushBackEvent(Token);
  62.     void Open(bool mode= TRUE);
  63.     void OpenAt(Point p, VObject *vf= 0, bool resize= FALSE, bool block= FALSE);
  64.     void Iconize();
  65.     GrCursor GetCursor(Point);
  66.  
  67.     Window *MakeIcon();
  68.     Window *GetIcon()
  69.     { return icon; }
  70.  
  71.     Port *GetPortDesc()
  72.     { return (Port*)portDesc; }
  73.     void SetPortDesc(Port *newport)
  74.     { portDesc= (WindowPort*)newport; }
  75.     Rectangle ScreenRect();
  76.     Rectangle GetRect();
  77.     void ReadEvent(Token &t, int timeout= -1, bool overread= TRUE);
  78.     void Bell(long d= 100);
  79.     void SetMousePos(Point);
  80.     void Grab(bool on, bool fullscreen);
  81.     void Top();
  82.     void Bottom();
  83.     void SetTitle(char*);
  84. };
  85.  
  86. #endif
  87.  
  88.